type (
	{{.lowerStartCamelObject}}Model interface{
		{{.method}}
		FindCount(ctx context.Context, countBuilder squirrel.SelectBuilder) (int64, error)
        FindList(ctx context.Context, rowBuilder squirrel.SelectBuilder, current, pageSize int64) ([]*{{.upperStartCamelObject}}, error)
		RowBuilder() squirrel.SelectBuilder
        CountBuilder(field string) squirrel.SelectBuilder
        SumBuilder(field string) squirrel.SelectBuilder
		TransCtx(ctx context.Context, fn func(ctx context.Context, sqlx sqlx.Session) error) error
	}

	default{{.upperStartCamelObject}}Model struct {
		{{if .withCache}}sqlc.CachedConn{{else}}conn sqlx.SqlConn{{end}}
		table string
	}

	{{.upperStartCamelObject}} struct {
		{{.fields}}
	}
)
